【メモ】AWS SDK for PowerShellのバージョンが古いとリージョン一覧でソウルが表示されない
はじめに
こんにちは植木和樹です。クラスメソッドでは新規AWSアカウント発行時にPowerShellを用いて初期設定を行っています。
ところで先日ソウルリージョン(ap-northeast-2)がオープンしましたが、PowerShellでCloudTrailを各リージョンでオンにしても、ソウルリージョンだけオフのままになってしまうという挙動がありました。
古いSDKだと Get-AWSRegion がap-northeast-2を返さないのが原因のためです。
解決策
AWS SDK for Windows PowerShellをバージョンアップしましょう。3.1.38.0でソウルリージョンも表示されることを確認済みです。3.1.4.0(2015-08-06リリース)では表示されませんでした。
Version 3.1.38.0
PS C:\Program Files (x86)\AWS Tools\PowerShell\AWSPowerShell> Get-AWSPowerShellVersion AWS Tools for Windows PowerShell Version 3.1.38.0 Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
PS C:\Program Files (x86)\AWS Tools\PowerShell\AWSPowerShell> Get-AWSRegion Region Name IsShellDefault ------ ---- -------------- us-east-1 US East (Virginia) False us-west-1 US West (N. California) False us-west-2 US West (Oregon) False eu-west-1 EU West (Ireland) False eu-central-1 EU Central (Frankfurt) False ap-northeast-1 Asia Pacific (Tokyo) True ap-northeast-2 Asia Pacific (Seoul) False (ちゃんとでてきた!) ap-southeast-1 Asia Pacific (Singapore) False ap-southeast-2 Asia Pacific (Sydney) False sa-east-1 South America (Sao Paulo) False
AWS SDK for PowerShellのCHANGELOGをみましたが、どのバージョンで修正されたのかは分かりませんでした。
補足情報
弊社Windows使い福田さんからの情報です。
まとめ
SDK for PowerShellをお使いの方は早めのバージョンアップをご検討ください。
SDK for PowerShellはリージョン情報を内部データで保持している(た)んでしょうか?なお、awscli(Python版)だとソウルリージョンオープン前のバージョンでもちゃんとap-northeast-2が表示されました。
$ aws --version aws-cli/1.9.1 Python/2.7.10 Linux/4.1.10-17.31.amzn1.x86_64 botocore/1.3.1 $ aws ec2 describe-regions --query "Regions[].RegionName" [ "eu-west-1", "ap-southeast-1", "ap-southeast-2", "eu-central-1", "ap-northeast-2", (表示されてる) "ap-northeast-1", "us-east-1", "sa-east-1", "us-west-1", "us-west-2" ]